ActiveReports 9 > ActiveReports User Guide > How To > Section Report How To > Work with Data in Section Reports > Modify Data Sources at Run Time |
In a section report, you can modify your data source at run time. Follow the steps below to connect your report to the NWind.mdb sample database at run time.
Note: These steps assume that the data path is defined in the following registry key. |
To write the code in Visual Basic
The following example shows what the code for the function looks like.
Visual Basic.NET code. Paste below the Imports GrapeCity.ActiveReports statement at the top of the code view. |
Copy Code
|
---|---|
Imports System Imports Microsoft.Win32 |
Visual Basic.NET code. Paste inside the report class. |
Copy Code
|
---|---|
Private Function getDatabasePath() As String |
This creates a function for getDatabasePath.
Visual Basic.NET code. Paste inside the getDatabasePath function. |
Copy Code
|
---|---|
Dim regKey As RegistryKey regKey = Registry.LocalMachine regKey = regKey.CreateSubKey("SOFTWARE\\ComponentOne\\ActiveReports\\v9") getDatabasePath = CType(regKey.GetValue(""), String) |
To write the code in C#
The following example shows what the code for the function looks like.
C# code. Paste below the using GrapCity.ActiveReports statement at the top of the code view. |
Copy Code
|
---|---|
using Microsoft.Win32; using System; |
C# code. Paste inside the report class and hit Enter. |
Copy Code
|
---|---|
private string getDatabasePath() |
This creates a function for getDatabasePath.
C# code. Paste BELOW the getDatabasePath function. |
Copy Code
|
---|---|
{ RegistryKey regKey = Registry.LocalMachine; regKey = regKey.CreateSubKey("SOFTWARE\\ComponentOne\\ActiveReports\\v9"); return ((string)(regKey.GetValue(""))); } |
To write the code in Visual Basic.NET
The following example shows what the code for the method looks like.
Visual Basic.NET code. Paste above the ReportStart event. |
Copy Code
|
---|---|
Dim conn As System.Data.OleDb.OleDbConnection Dim reader As System.Data.OleDb.OleDbDataReader |
Visual Basic.NET code. Paste inside the ReportStart event. |
Copy Code
|
---|---|
Dim dbPath As String = getDatabasePath() Dim connString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath + "\NWIND.mdb" conn = New System.Data.OleDb.OleDbConnection(connString) Dim cmd As New System.Data.OleDb.OleDbCommand("SELECT * FROM Products WHERE UnitPrice = 18", conn) conn.Open() reader = cmd.ExecuteReader() Me.DataSource = reader |
To write the code in C#
The following example shows what the code for the method looks like.
C# code. Paste above the ReportStart event. |
Copy Code
|
---|---|
private static System.Data.OleDb.OleDbConnection conn; private static System.Data.OleDb.OleDbDataReader reader; |
C# code. Paste inside the ReportStart event. |
Copy Code
|
---|---|
string dbPath = getDatabasePath(); string connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbPath + "\\NWIND.mdb"; conn = new System.Data.OleDb.OleDbConnection(connString); System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand("SELECT * FROM Products WHERE UnitPrice = 18", conn); conn.Open(); reader = cmd.ExecuteReader(); this.DataSource = reader; |
To write the code in Visual Basic
The following example shows what the code for the method looks like.
Visual Basic.NET code. Paste inside the ReportEnd event. |
Copy Code
|
---|---|
reader.Close() conn.Close() |
To write the code in C#
The following example shows what the code for the method looks like.
C# code. Paste inside the ReportEnd event. |
Copy Code
|
---|---|
reader.Close(); conn.Close(); |